home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / R-Shows / (c)woc v 87.d64 / disk house (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  6KB  |  191 lines

  1. 10 REM  *****************************
  2. 20 REM  *                           *
  3. 30 REM  * DISK HOUSEKEEPING PROGRAM *
  4. 40 REM  *                           *
  5. 50 REM  * WRITTEN BY RODNEY O'BRIEN *
  6. 60 REM  *  COMMODORE COMPUTER CLUB  *
  7. 70 REM  *       TOLEDO, OHIO        *
  8. 80 REM  *                           *
  9. 90 REM  *****************************
  10. 100 OPEN15,8,15
  11. 110 DIM A$(9):SC=20
  12. 120 A=0:A$(0)="DISK HOUSEKEEPING PROGRAM"
  13. 130 A$(1)="FORMAT NEW DISK"
  14. 140 A$(2)="RENAME EXISTING DISK"
  15. 150 A$(3)="VALIDATE A DISK"
  16. 170 A$(4)="RENAME A FILE"
  17. 180 A$(5)="BACK-UP A FILE"
  18. 190 A$(6)="SCRATCH A FILE"
  19. 200 A$(7)="LIST A DIRECTORY"
  20. 210 A$(8)="PRINT A DIRECTORY"
  21. 220 POKE53280,15:POKE53281,15:GOSUB1810
  22. 230 FORA=1 TO 8:PRINTTAB(7);"";A;"[157].[151]  ";A$(A);"":NEXT
  23. 240 PRINT"                            [164][164]"
  24. 250 PRINT"  MAKE A SELECTION OR PRESS F1[146] TO END  [151]"
  25. 260 GETA$:IFA$=""THEN260
  26. 270 IFA$=CHR$(133)THENPRINT"[145][145]":END
  27. 280 A=VAL(A$):IFA<1ORA>8THEN260
  28. 290 GOSUB 1810:ON A GOTO 300,410,710,1380,1150,1270,970,1500
  29. 300 REM  ***************
  30. 310 REM  * FORMAT DISK *
  31. 320 REM  ***************
  32. 330 GOSUB1840:GOSUB1880:GOSUB1890
  33. 340 IFB$="N"THENGOTO280
  34. 350 GOSUB1930:IFB$="N"THENGOTO120
  35. 360 PRINT"[145][145][154]     [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
  36. 370 PRINT"            FORMATTING DISK       "
  37. 380 PRINT#15,"N0:"+DN$+","+ID$
  38. 390 GOSUB 1740:IFEN>20THENGOSUB2030:GOTO120
  39. 400 GOTO120
  40. 410 REM  ***************
  41. 420 REM  * RENAME DISK *
  42. 430 REM  ***************
  43. 440 PRINT"":GOSUB1930:IFB$="N"THENCLOSE2:GOTO120
  44. 450 GOSUB1810:PRINT"":PRINT#15,"I":GOSUB1740:IFEN>20THENGOSUB2030:GOTO120
  45. 460 OPEN2,8,2,"#"
  46. 470 PRINT#15,"U1";2;0;18;0:GOSUB1740:IFEN>20THENGOSUB2030:GOTO120
  47. 480 PRINT#15,"B-P:";2;144
  48. 490 FORI=1TO16
  49. 500 GET#2,C$
  50. 510 IFC$=""THENC$=CHR$(0)
  51. 520 C=ASC(C$)
  52. 530 IFC>127THENC=C-128
  53. 540 IFC<32ORC>95THENC=32
  54. 550 IFC=34THENC=32
  55. 560 N$=N$+CHR$(C)
  56. 570 NEXTI
  57. 580 PRINT"                                   "
  58. 590 PRINT"      [151]DISK NAME:                   [129]"
  59. 600 PRINTTAB(18);"[145]";N$:N$=""
  60. 610 INPUT"      [151]NEW NAME:   [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][129][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";DN$
  61. 620 IF LEN(DN$)<16THENDN$=DN$+CHR$(160):GOTO620
  62. 630 GOSUB1890:IFB$="N"THENCLOSE2:GOTO280
  63. 640 GOSUB1930:IFB$="N"THENCLOSE2:GOTO120
  64. 650 PRINT"[145][145][154]     [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
  65. 660 PRINT"             RENAMING DISK        "
  66. 670 PRINT#15,"B-P:";2;144
  67. 680 PRINT#2,DN$;
  68. 690 PRINT#15,"U2";2;0;18;0:GOSUB1740:IFEN>20THENGOSUB2030:GOTO120
  69. 700 CLOSE2:GOSUB2030:GOTO120
  70. 710 REM  *********************
  71. 720 REM  * VALIDATE DISKETTE *
  72. 730 REM  *********************
  73. 740 PRINT"":GOSUB1930:IFB$="N"THENGOTO120
  74. 750 PRINT"[145][145][154]     [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
  75. 760 PRINT"            VALIDATING DISK       "
  76. 770 PRINT#15,"V":GOSUB1740:IFEN>20THENGOSUB2030:GOTO120
  77. 780 GOTO120
  78. 970 REM  ********************
  79. 980 REM  * LOAD A DIRECTORY *
  80. 990 REM  ********************
  81. 1000 PRINT"":GOSUB1930:IFB$="N"THENGOTO120
  82. 1010 N$=CHR$(0):GOSUB1810
  83. 1020 PRINT#15,"I0":GOSUB1740:IFEN>20THENGOSUB2030:GOTO120
  84. 1030 OPEN2,8,0,"$0":GOSUB1740:IFEN>20THENGOSUB2030:GOTO120
  85. 1040 GET#2,B$,B$:N=0
  86. 1050 GET#2,B$,B$
  87. 1060 IFB$=""THENGOTO1120
  88. 1070 GET#2,B$,C$
  89. 1080 PRINTTAB(5);"[151]";ASC(B$+N$)+ASC(C$+N$)*256;
  90. 1090 GET#2,B$:IFB$=""THENPRINTC$:C$="":N=N+1:IFN>15THENGOTO1130
  91. 1100 IFB$=""THENGOTO1050
  92. 1110 C$=C$+B$:GOTO1090
  93. 1120 CLOSE2:GOSUB2030:GOTO120
  94. 1130 GOSUB2060:IFB$="N"THENCLOSE2:GOTO120
  95. 1140 GOSUB1810:N=0:GOTO1050
  96. 1150 REM  ******************
  97. 1160 REM  * BACK-UP A FILE *
  98. 1170 REM  ******************
  99. 1180 PRINT"[129]ENTER:"
  100. 1190 INPUT"[151]FILENAME[129] ";N$
  101. 1200 INPUT"[151]B/UP NAME[129]";BN$
  102. 1210 GOSUB1890:IFB$="N"THENGOTO290
  103. 1220 GOSUB1930:IFB$="N"THENGOSUB2030:GOTO120
  104. 1230 PRINT"[145][145][154]     [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
  105. 1240 PRINT"         BACK-UP BEING CREATED    "
  106. 1250 PRINT#15,"C0:"+BN$+"="+N$
  107. 1260 GOSUB1740:GOSUB2030:GOTO120
  108. 1270 REM  ******************
  109. 1280 REM  * SCRATCH A FILE *
  110. 1290 REM  ******************
  111. 1300 PRINT"[129]ENTER:"
  112. 1310 INPUT"[151]FILENAME[129] ";N$
  113. 1320 GOSUB1890:IFB$="N"THENGOTO290
  114. 1330 GOSUB1930:IFB$="N"THENGOSUB2030:GOTO120
  115. 1340 PRINT"[145][145][154]     [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
  116. 1350 PRINT"          FILE BEING SCRATCHED    "
  117. 1360 PRINT#15,"S0:"+N$
  118. 1370 GOSUB1740:GOSUB2030:GOTO120
  119. 1380 REM  *****************
  120. 1390 REM  * RENAME A FILE *
  121. 1400 REM  *****************
  122. 1410 PRINT"[129]ENTER:"
  123. 1420 INPUT"[151]OLD FILENAME[129] ";N$
  124. 1430 INPUT"[151]NEW FILENAME[129] ";NN$
  125. 1440 GOSUB1890:IFB$="N"THENGOTO290
  126. 1450 GOSUB1930:IFB$="N"THENGOSUB2030:GOTO120
  127. 1460 PRINT"[145][145][154]     [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
  128. 1470 PRINT"             RENAMING FILE        "
  129. 1480 PRINT#15,"R0:"+NN$+"="+N$
  130. 1490 GOSUB1740:GOSUB2030:GOTO120
  131. 1500 REM  *********************
  132. 1510 REM  * PRINT A DIRECTORY *
  133. 1520 REM  *********************
  134. 1530 PRINT"[129][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
  135. 1540 PRINT"[129]IS PRINTER ON?  (Y/N)[146]"
  136. 1550 GETB$:IFB$<>"Y"ANDB$<>"N"THEN1550
  137. 1560 IFB$="N"THEN120
  138. 1570 PRINT"[145]":GOSUB1930:IFB$="N"THEN120
  139. 1580 PRINT"[145][145][154]     [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
  140. 1590 PRINT"           PRINTING DIRECTORY     "
  141. 1600 N$=CHR$(0):N=0
  142. 1610 OPEN2,8,0,"$0":GOSUB1740:IFEN>20THENGOSUB2030:GOTO120
  143. 1620 OPEN4,4,0
  144. 1630 GET#2,B$,B$
  145. 1640 GET#2,B$,B$:IFB$=""THEN1730
  146. 1650 GET#2,B$,C$:IFN/2<>INT(N/2)THEN1690
  147. 1660 PRINT#4,ASC(B$+N$)+ASC(C$+N$)*256;:GOSUB1710:PRINT#4,C$;:C$=""
  148. 1670 IFN=0THENPRINT#4:PRINT#4:N=N+1
  149. 1680 N=N+1:GOTO1640
  150. 1690 PRINT#4,CHR$(16)CHR$(52)CHR$(48)ASC(B$+N$)+ASC(C$+N$)*256;:GOSUB1710
  151. 1700 PRINT#4,C$:C$="":N=N+1:GOTO1640
  152. 1710 GET#2,B$:IFB$<>""THENC$=C$+B$:GOTO1710
  153. 1720 RETURN
  154. 1730 PRINT#4:CLOSE4:CLOSE2:GOSUB2030:GOTO120
  155. 1740 INPUT#15,EN,EM$
  156. 1750 IFEN<20THENRETURN
  157. 1760 LM=LEN(EM$)+4
  158. 1770 PRINT"[129][145][145]     [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
  159. 1780 PRINT"                                  "
  160. 1790 PRINT"[145]";TAB(SC-LM/2);EN;EM$
  161. 1800 CLOSE1:CLOSE2:RETURN
  162. 1810 L=LEN(A$(A)):PRINT"[147][144][213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"
  163. 1820 PRINT"[144][194][129]";TAB(SC-L/2);A$(A);TAB(33);"[144][194]"
  164. 1830 PRINT"[202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203][151]":RETURN
  165. 1840 PRINT"     [129]ENTER:"
  166. 1850 INPUT"     [151]DISK NAME   [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][129][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";DN$
  167. 1860 IF LEN(DN$)<16THENDN$=DN$+CHR$(160):GOTO1860
  168. 1870 RETURN
  169. 1880 INPUT"[151]     DISK ID     [164][164][129][157][157][157][157]";ID$:RETURN
  170. 1890 PRINT"[129]     [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][146]"
  171. 1900 PRINT"     IS INFORMATION CORRECT? (Y/N)[146]"
  172. 1910 GETB$:IFB$<>"Y"ANDB$<>"N"THEN1910
  173. 1920 RETURN
  174. 1930 PRINT"[145][145][129]     [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
  175. 1940 PRINT"     [129]DISK LOCKED INTO DRIVE? (Y/N)[146]":GOSUB2010
  176. 1950 GETB$:IFB$<>"Y"ANDB$<>"N"THEN1970
  177. 1960 RETURN
  178. 1970 PRINT"[145][145]                                  "
  179. 1980 PRINT"     [129]DISK LOCKED INTO DRIVE? (Y/N)":FORD=1TO300:NEXT
  180. 1990 GETB$:IFB$<>"Y"ANDB$<>"N"THENGOTO1930
  181. 2000 RETURN
  182. 2010 POKE54296,3:POKE54276,17:POKE54277,9:POKE54278,40
  183. 2020 POKE54273,42:POKE54272,62:FOR D=1TO300:NEXT:POKE54276,16:RETURN
  184. 2030 PRINT"           PRESS F1 FOR MENU             [152][146]"
  185. 2040 GETB$:IFB$<>CHR$(133)THEN2040
  186. 2050 RETURN
  187. 2060 PRINT"[129]     [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][146]"
  188. 2070 PRINT"        CONTINUE LISTING?    (Y/N)[146]"
  189. 2080 GETB$:IFB$<>"Y"ANDB$<>"N"THEN1910
  190. 2090 RETURN
  191.